package com.lxl.todo;

import java.util.*;

/**
* 最大子数组和
* 给你一个整数数组 nums ，请你找出一个具有最大和的连续子数组（子数组最少包含一个元素），返回其最大和。
* 输入：nums = [-2,1,-3,4,-1,2,1,-5,4]
输出：6
解释：连续子数组 [4,-1,2,1] 的和最大，为 6 。
*
* */
public class Solution12 {
    public int maxSubArray(int[] nums) {
        List<Integer> list = new ArrayList<>();
            int count = 0;
            int right = 0;
            while (right < nums.length) {
                if (count < nums[right] && count < 0) {
                    count = nums[right];
                    list.add(count);
                    right++;
                } else {
                    count += nums[right];
                    list.add(count);
                    right++;
                }
            }
        Collections.sort(list);
            return list.get(list.size() - 1);
    }

    public static void main(String[] args) {
        Solution12 solution = new Solution12();
        int i = solution.maxSubArray(new int[]{-2,1});
        System.out.println("i = " + i);
    }
}
